import random

import wx


class MyFrame(wx.Frame):
    NameList = ['tom', 'jack', 'lily']

    def __init__(self):
        wx.Frame.__init__(self, None, title='学习系统', size=(400, 400))
        # 创建面板
        pl = wx.Panel(self, size=(400, 400))
        self.SetBackgroundColour((255, 144, 255))
        self.SetBackgroundColour('#7FFFAA')
        # 显示静态文本 style=wx.TE_CENTRE 居中
        self.staticText = wx.StaticText(pl, label=random.choice(self.NameList), pos=(0, 100), size=(400, 200),
                                        style=wx.TE_CENTRE)
        # 创建字体
        # 字体大小，字体包，字体风格，加粗
        font = wx.Font(48, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD)
        self.staticText.SetFont(font)
        # 创建按钮
        self.btn1 = wx.Button(pl, label='开始抽奖', pos=(100, 300))
        self.btn2 = wx.Button(pl, label='结束抽奖', pos=(200, 300))
        # 按钮背景色

        # 按钮字体颜色
        self.btn1.SetForegroundColour((47, 79, 79))
        self.Bind(wx.EVT_BUTTON, self.onClick, self.btn1)
        self.Bind(wx.EVT_BUTTON, self.stop, self.btn2)

    # event 必填，事件必传
    def onClick(self, event):
        self.timer = wx.Timer(self)  # 创建了一个定时器
        # 绑定定时器和方法
        self.Bind(wx.EVT_TIMER, self.update_name, self.timer)
        self.timer.Start(10)

    def update_name(self, event):
        self.staticText.SetLabelText(random.choice(self.NameList))

    def stop(self, event):
        self.timer.Stop()  # 停止计时


if __name__ == '__main__':  # python程序的主入口
    # 创建应用程序对象
    app = wx.App()
    # 创建窗口
    frm = MyFrame()
    # 显示窗口
    frm.Show()
    # 进入主循环，让窗口一直显示
    app.MainLoop()
